Digital networks have been developed to facilitate the transfer of information, including data and programs, among digital computer systems and numerous other types of devices. A variety of types of networks have been developed and implemented using diverse information transfer methodologies. In modern networks, information is transferred through a mesh of switching nodes which are interconnected by communication links in a variety of patterns. The mesh interconnection pattern can allow for a number of paths to be available through the network from each computer system or other device which may transmit information as a source device, to another computer system or other device, which is to receive the information as a destination device, so that if one switching node or communication link is congested or becomes inoperative, the information can be routed around the congested or inoperative portion of the network.
Information transferred from a source device to a destination device is generally transferred in the form of fixed- or variable-length packets, which are transferred through the network in accordance with one of several general packet transfer methodologies. In one packet transfer methodology, termed a virtual circuit transfer methodology, packets are transferred through the network over constructs which are generally termed "virtual circuits," "virtual connections" and the like (generally, "virtual circuits"). When a "source" device wishes to engage in a communication session with another "destination" device, during which it (that is, the source device) will transfer information to the destination device, initially a preliminary operation will be performed to establish a virtual circuit through a series of switching nodes and over respective communication links defining a path from the source device to the destination device. Each switching node in the virtual circuit methodology is provided with a virtual circuit database that associates each of the virtual circuits maintained by the respective switching node with a particular one of the communication links connected thereto.
After the virtual circuit has been established, the switching node, when it receives a packet for a particular virtual circuit, will use the virtual circuit database to identify the particular communication link connected thereto over which it is to transfer the packet. At the end of the communications session between the source device and the destination device, the devices may close the virtual circuit. In that operation, one or more packets are transferred between the source and destination devices which, among other things, can enable the switching nodes along the virtual circuit to expunge the virtual circuit information relating to the particular virtual circuit being closed from their respective virtual circuit databases. Thereafter, various resources which are associated with the closed virtual circuit can be used for other virtual circuits.
One problem in connection with use of the virtual circuit methodology arises from the following. Generally, if a communication link in a network becomes inoperative, all of the virtual circuits which make use of the communication link are dropped, and may need to be re-established. Typically, when a switching node determines that a communication link connected thereto is inoperative, it will transmit a "dropped" message packet over each of the virtual circuits indicating that the virtual circuit has been dropped. Each switching node along the path defined by the respective virtual circuit will receive the dropped message packet, free the resources taken up by the dropped virtual circuit, and pass the dropped message packet along the path defined by the virtual circuit. These operations will be repeated until the dropped message packets are received by both the source and destination devices. A problem arises from the fact that, if a communication link is used for a large number of virtual circuits, the switching nodes connected to that communication link will need to generate and transmit a large number of such dropped message packets, which can take up a significant amount of packet transfer bandwidth through at least some portion of the network.